This invention relates in general to computer user input devices and more specifically to a method and apparatus for achieving a more accurate relative pointing device in a computer user interface.
Today's graphical computer user interfaces typically use some form of “relative pointing device” (RPD) for moving a pointer, cursor, or the like around on a display screen. Examples of RPDs include a mouse, joystick, touchpad, trackball, etc. One approach at implementing these devices uses a material that exhibits varying electrical properties as a function of applied pressure, or position, of a control object, or surface, manipulated by a user. The use of such materials introduces problems in that the measurement of the resistance, conductance, capacitance or other property of the material is not always constant, or consistent, enough to use the pointing device for precise, stable, and consistently accurate positioning in a computer user interface.
For example, where resistive rubber is used as the sensing material the undesirable property of “drift” presents itself. Drift results from miscalibration of a “zero” position, or other reference position, for the pointing device. “Drift” is perceived by a user of the device as spurious or inaccurate movement of a pointer, or other image or object, that is controlled by the device. Differences in material, composition, components, temperature, geometry of finger placement, etc., all contribute to whether the device is properly centered, or whether there is drift. A properly calibrated device allows the user to easily make fine position motions. An improperly calibrated device will exhibit drift and be difficult to control.
A common user manipulation is to position a pointer by using the RPD and then depress a button, or other control, to indicate selection of an item selected by the pointer. Before, during or after the user's act of depressing the control it is usually important that the pointer does not change position. When such an unwanted change in position takes place as a result of miscalibration it is referred to as “drift”. There are other consequences of “drift”. If the user is trying to make a fine cursor movement while drift is present then the user is forced to compensate by applying pressure against the drift. This feels rather like trying to walk on very slippery ice in a strong windstorm. Another consequence of miscalibration is reduced dynamic range in the direction “against the drift”. Some or all of the movement range of the device can be absorbed in an attempt to counter the drift, leaving less range available for intended manipulation.
Thus, it is desirable to reduce or eliminate the problem of miscalibration and drift in a pointing device.